// 模式（匹配）
// match匹配模式
// if let表达式
// while let
// for循环
// let语句：元祖、i32、String
// 函数参数 

// 解构结构体、元祖、struct、enum等等
// 模式中忽略值“_”例如fn(a, _, c)或者let _x = 5
// 使用..忽略剩余的部分的值 
// match守卫 Some(x) if x > 5 => println!("1111");
// @绑定：让我们可以创建一个变量，该变量可以在测试某个值是否与模式匹配的同时保存该值以备后面使用

struct Point {
    x: i32,
    y: i32,
    z: i32,
    e: i32
}

fn main() {
    let origin = Point {x:0, y: 0, z: 0, e: 0};
    match origin {
        Point {x, ..} => println!("x is {}", x)
    }
    println!("HELLO WORLD");
}